const getUploadAction = function() {
  const envMaps = {
    test: 'https://testlife.eshimin.com/coss/upload',
    production: 'https://life.eshimin.com/coss/upload',
    development: 'dev-api/upload'
  }
  const env = process.env.VUE_APP_ENV
  return envMaps[env]
}
const uploadUrl = getUploadAction()
console.log('上传地址是', uploadUrl)
export const initConfig = function({ vueInstance }) {
  return {
    uploadFileName: 'file',
    uploadVideoName: 'file',
    uploadImgParamsWithUrl: true,
    menus: [
      'head', 'bold', 'fontSize', 'fontName', 'italic', 'underline', 'strikeThrough', 'indent', 'lineHeight', 'foreColor', 'backColor', 'link', 'quote', 'list', 'todo', 'justify', 'emoticon', 'image', 'video', 'code', 'splitLine', 'undo', 'redo'
    ],
    uploadImgParams: {
      mediaType: 'image'
    },
    uploadVideoParams: {
      mediaType: 'video'
    },
    uploadImgServer: uploadUrl,
    uploadVideoServer: uploadUrl,
    uploadImgHooks: {
      // 上传图片之前
      before: function(xhr) {

      },
      // 图片上传并返回了结果，图片插入已成功
      success: function(xhr) {
        console.log('success', xhr)
      },
      // 图片上传并返回了结果，但图片插入时出错了
      fail: function(xhr, editor, resData) {
        console.log('fail', resData)
      },
      // 上传图片出错，一般为 http 请求的错误
      error: function(xhr, editor, resData) {
        console.log('error', xhr, resData)
      },
      // 上传图片超时
      timeout: function(xhr) {
        console.log('timeout')
      },

      // 图片上传并返回了结果，想要自己把图片插入到编辑器中
      // 例如服务器端返回的不是 { errno: 0, data: [...] } 这种格式，可使用 customInsert
      customInsert: function(insertImgFn, res) {
        // result 即服务端返回的接口
        console.log('customInsert', res)
        if (res.code === 200) {
          insertImgFn(res.result)
        }
        // insertImgFn 可把图片插入到编辑器，传入图片 src ，执行函数即可
      }
    },
    uploadVideoHooks: {
      // 上传视频之前
      before: function(xhr) {
        console.log(xhr)

        // 可阻止视频上传
      },
      // 视频上传并返回了结果，视频插入已成功
      success: function(xhr) {
        console.log('success', xhr)
      },
      // 视频上传并返回了结果，但视频插入时出错了
      fail: function(xhr, editor, resData) {
        console.log('fail', resData)
      },
      // 上传视频出错，一般为 http 请求的错误
      error: function(xhr, editor, resData) {
        console.log('error', xhr, resData)
      },
      // 上传视频超时
      timeout: function(xhr) {
        console.log('timeout')
      },
      // 视频上传并返回了结果，想要自己把视频插入到编辑器中
      // 例如服务器端返回的不是 { errno: 0, data: { url : '.....'} } 这种格式，可使用 customInsert
      customInsert: function(insertVideoFn, res) {
        // result 即服务端返回的接口
        console.log('customInsert', res)
        if (res.code === 200) {
          insertVideoFn(res.result)
        }
      }
    },
    onchange: (newHtml) => {
      var str2 = newHtml.replace(/<blockquote>/g, '<blockquote style="display: block; border-left: 8px solid #d0e5f2; padding: 5px 10px; margin: 10px 0; line-height: 1.4; min-height: 24px; font-size: 100%; background-color: #f1f1f1;">')
      vueInstance.$emit('input', str2)
    }
  }
}
